// 定义经纬度类型
export type LngLat = [number, number];
/**
 * Marker模块接口
 * @property name - 模块名称： 'Marker'
 * @property instance - 标记点实例数组
 * @property events - 事件处理对象
 */
export interface MarkerModule {
  name: string;
  instance: MarkerInstance[];
  events: { remove: () => void };
}

/**
 * 标记点实例接口- 适用于调取createSingleMarker绘制单条轨迹的返回值
 * @property marker - 标记点实例
 */
export type MarkerInstance = any;

/**
 * 标记点配置选项
 */
export interface MarkerOptions {
  // 点标记在地图上显示的位置
  position: LngLat;
  // 鼠标滑过点标记时的文字提示
  title?: string;
  // 点标记显示内容
  content?: string;
  // 添加文本标注
  label?: {
    content?: string; // 文本标注的内容
    offset?: [number, number]; // 偏移量
    direction?: "top" | "bottom" | "left" | "right"; // 文本标注方位，默认值: 'right'
  };
  // 用户自定义属性
  extData?: {
    // 是否解除关联infoWindow信息窗口, 解除后, 点击标记点不会触发， 默认false, infoWindow的打开事件
    relieveInfoWindow?: boolean;
    infoWindowOpts?: {
      // infoWindow配置项
      content?: string;
      [key: string]: any;
    };
    [key: string]: any; // 其他自定义属性
  };
  [key: string]: any; // 其他配置项
}

// 定义额外参数接口
export interface ExtraOptions {
  // 是否开启坐标转换，默认不转换'', 高德地图使用的是 GCJ-02 坐标，可选值:'wgs84ToGcj02'\| 'gcj02ToWgs84'\| 'gcj02ToBd09'\| 'batchGcj02ToBd09'\| 'bd09ToGcj02'\| 'batchBd09ToGcj02'
  coordTransform?: string;
}
